﻿/*
到直线的最长距离 

Description:
给定一根直线，给出一些坐标点，求这些坐标点到直线的最大距离。
第一行有两个整数对，表示直线的两点，后面有一些整数对，那是给出的坐标点。
结果保留三位小数。

Sample Input:
1 2 3 4
3 8
10 10
7 2
900 1
Sample Output:
636.396

*/
#include <stdio.h>
#include <math.h>

int main(int argc, char * argv[])
{
	int x1, y1, x2, y2;
	double d=1.0, shortest=-1.0, sqroot=1.0;
	int a, b, c;

	scanf("%d%d%d%d", &x1, &y1, &x2, &y2);

	a=y2-y1;
	b=x1-x2;
	c=y1*x2-x1*y2;
	sqroot=sqrt((double)(a*a+b*b));

	while(EOF!=scanf("%d%d", &x1, &y1))
	{
		d=a*x1+b*y1+c;
		d/=sqroot;
		if(shortest-d<1e-6)
			shortest=d;
	}
	printf("%.3f", shortest);
	return 0;
}